As transistor sizes continue to decrease with each process technology improvement, circuits based on these smaller transistors become increasingly susceptible to a phenomenon known as soft errors. The term soft error describes a situation where the circuit environment is disrupted on a local level due to the introduction of a spurious charged particle from sources external to the circuit in question. Generally speaking, this problem will occur when an alpha particle strikes a portion of a circuit after passing through the protective packaging of the chip and other protective materials covering an active circuit area. Unfortunately, it is not possible to completely eliminate the possibility that a soft error may occur. It is, however, possible, through circuit techniques, to greatly reduce the statistical likelihood that a soft error will occur within some length of time. By using design techniques to reduce the probability of soft errors while also including a circuit that will provide soft error detection, the problems associated with these random circuit failures can be minimized. In the present invention, a circuit is provided for performing the task of determining whether information corruption has occurred when this information has been stored in an array using a 2B encoded format to be described herein.
It is statistically unlikely that any single circuit (i.e., one SRAM cell) will be subject to a soft error within the time period of a few years. However, it can be mathematically established that within some large group of circuits (that might be implemented on a contemporary microprocessor), a minimum of one soft error will occur within the time period of several years (for a transistor process technology that would be considered current state-of-the-art). A practical example of this situation is any array of SRAM memory cells. It is very likely that one or more cells within an array of ten thousand SRAM cells being changed due to a soft error condition over a long period of continuous device operation will occur. From the standpoint of the microprocessor in which these soft errors are occurring, the result of the soft error can vary in effect, from a simple data corruption that has little or no impact, to a major problem resulting in a significant change in the microprocessor's operating characteristics. Based on the probabilities described, it can be seen that soft errors must be anticipated and that their impact can be significant.
The process of detecting memory corruption may be dependent on the format of the data being stored in the array. One such format is the 2B encoded format. What is needed is an error detection circuit for detecting an error in information in 2B encoded format.